/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.asportoonline.integration;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import org.asportoonline.entities.Cliente;
import org.asportoonline.entities.Locale;
import org.asportoonline.entities.Prenotazione;

/**
 *
 * @author fe
 */
@Stateless
public class PrenotazioneFacadeImplementation extends AbstractFacade<Prenotazione> implements PrenotazioneFacade {
    @PersistenceContext(unitName = "AsportoOnline-ejbPU")
    private EntityManager em;

    protected EntityManager getEntityManager() {
        return em;
    }

    public PrenotazioneFacadeImplementation() {
        super(Prenotazione.class);
    }

    public List<Prenotazione> finAllUserPrenotations(Cliente cliente) {
        Query query = em.createQuery("select pren from Prenotazione pren where pren.cliente = :cliente");
        query.setParameter("cliente", cliente);
        List<Prenotazione> lpren = (List<Prenotazione>)query.getResultList();
        
        if(lpren==null || lpren.isEmpty())    return null;
        return lpren;
    }

    public List<Prenotazione> finAllRestaurantPrenotations(Locale locale) {
        Query query = em.createQuery("select pren from Prenotazione pren where pren.locale = :locale");
        query.setParameter("locale", locale);
        List<Prenotazione> lpren = (List<Prenotazione>)query.getResultList();
        
        if(lpren==null || lpren.isEmpty())    return null;
        return lpren;
    }
    
    
}
